import java.util.Arrays;

//public class Test {
//    public static String MytoString(int[]array){
//        String ret="[";
//        for (int i = 0; i < array.length; i++) {
//            ret+=array[i];
//            if(i != array.length-1){
//                ret+=",";
//            }
//        }
//        ret+="]";
//        return ret;
//    }
//    public static void main(String[] args) {
//        //数组练习
//        //1.数组转字符串
//        int[]array=new int[]{1,2,3,4,5};
//        System.out.println(MytoString(array));
//    }
//}

//public class Test {
//    public static double agv(int[]arr){
//        int sum=0;
//        for (int x:arr) {
//            sum+=x;
//        }
//        return (double) sum/(double) arr.length;
//    }
//    public static void main(String[] args) {
//        //求数组中元素的平均值
//        int[]array={1,2,3,4,5,6};
//        System.out.println(agv(array));
//    }
//}

//public class Test {
//    public static int finfNum(int[]array,int k){
//        for (int i = 0; i < array.length; i++) {
//            if(array[i]==k){
//                return i;
//            }
//        }
//        return -1;
//    }
//    public static void main(String[] args) {
//        //查找数组中指定元素(顺序查找)
//        //这个程序是挨个查找,效率太低
//        int[]array={1,2,3,4,5};
//        int ret=finfNum(array,5);
//        System.out.println(ret);
//    }
//}

//public class Test {
//    public static int binarrySearch(int[]array,int key){
//        int left=0;
//        int right=array.length-1;
//        while (left<=right){
//            int mid=(left+right)/2;
//           if(array[mid]==key){
//               return mid;
//           }else if(array[mid]>key){
//               right=mid-1;
//           }else{
//               left=mid+1;
//           }
//        }
//        return -1;
//    }
//    public static void main(String[] args) {
//        //二分查找-->只能在有序数组里
//        int[]array={1,2,3,4,5};
//        int index=binarrySearch(array,4);
//        System.out.println(index);
//    }
//}

//public class Test {
//    public static int binarrySearch(int[]array,int k){
//        int left=0;
//        int right=array.length-1;
//        while(left<=right){
//            int mid=(left+right)/2;
//            if(array[mid]==k){
//                return mid;
//            }else if(array[mid]>k){
//                right=mid-1;
//            }else{
//                left=mid+1;
//            }
//        }
//        return -1;
//    }
//    public static void main(String[] args) {
//        //那在无序数组里怎么办?
//        int[]array={10,12,66,55,18};
//        System.out.println("排序前的数组:"+Arrays.toString(array));
//        Arrays.sort(array);//默认从小到大排序
//        System.out.println("排序后的数组:"+Arrays.toString(array));
//    }
//}

//public class Test {
//    public static void main(String[] args) {
//        int[]array={10,9,66,55,18};
//        Arrays.sort(array);
//        System.out.println(Arrays.toString(array));
//        int index=Arrays.binarySearch(array,66);
//        System.out.println(index);
//    }
//}

//public class Test {
//    public static void bubbleSort(int[]array){
//        //i代表趟数
//        for (int i = 0; i < array.length-1; i++) {
//            boolean flag=false;//第二处优化就是判断是否已经排序有序,定义一个布尔类型的flag,先让它为假,如果没有交换了代表已经有序了,flag为真
//            for (int j = 0; j < array.length-1-i; j++) {
//                //1.第一处优化是-i
//                if(array[j]>array[j+1]){
//                    int tmp=array[j];
//                    array[j]=array[j+1];
//                    array[j+1]=tmp;
//                    flag=true;
//                }
//            }
//            if(flag==false){
//                return;
//            }
//        }
//    }
//    public static void main(String[] args) {
//        //冒泡排序
//        int[]array={22,55,12,31,10};
//        System.out.println("排序前的数组:"+Arrays.toString(array));
//        bubbleSort(array);
//        System.out.println("排序后的数组:"+Arrays.toString(array));
//    }
//}

//public class Test {
//    public static int[] copyArray(int[]array){
//        int[] copy=new int[array.length];
//        for (int i = 0; i < array.length; i++) {
//            copy[i]=array[i];
//        }
//        return copy;
//    }
//    public static void main(String[] args) {
//        //数组的拷贝
//        //先自己实现一个拷贝
//        int[]array={1,2,3,4,5};
//        int[]copy=copyArray(array);
//        System.out.println(Arrays.toString(array));
//
//    }
//}

//public class Test {
//    public static void main(String[] args) {
//        int[]array={1,2,3,4,5};
//        int[]copy=new int [array.length];
//        System.arraycopy(array,0,copy,0,array.length);
//                        //从array数组的0下标开始,再从copy数组下标的0开始,拷贝array数组的长度
//        System.out.println(Arrays.toString(array));
//
//    }
//}

//public class Test {
//    public static void main(String[] args) {
//        int[]array1={1,2,3,4,5};
//        int[]array2={1,2,3,4,5};
//        System.out.println(array1==array2);
//        boolean flag=Arrays.equals(array1,array2);
//        //比较两个数组是否一样  可以直接用Arrays.equals的方法
//        System.out.println(flag);
//    }
//}

//public class Test {
//    public static void main(String[] args) {
//        //你想在未初始化的数组里进行初始化吗?
//        int[]array=new int[10];
//        Arrays.fill(array,1,3,-1);
//        System.out.println(Arrays.toString(array));
//    }
//}

//public class Test {
//    public static void main(String[] args) {
//        int[][]array={{1,2,3},{4,5,6}};//必须划分出哪些行哪些列
//        int[][]array2=new int[][]{{1,2,3},{4,5,6}};
//        int[][]array3=new int[2][3];
//        int[][]array4=new int[2][];//可以不写列
//    }
//}

public class Test {
    public static void main(String[] args) {
        //二维数组是一个特殊的一维数组
        int[][]array={{1,2,3},{4,5,6}};
        System.out.println(Arrays.toString(array[0]));
        System.out.println(Arrays.toString(array[1]));
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j]+" ");
            }
            System.out.println("");
        }
        System.out.println("==============");
        for(int[] tmpArray :array){
            for (int x:tmpArray) {
                System.out.print(x+" ");
            }
            System.out.println();
        }
        System.out.println("==============");

        String ret=Arrays.deepToString(array);
        System.out.println(ret);
    }
}